# -*- coding: utf-8 -*-
# @Time    : 2019/8/2 14:46
# @Author  : zhouqiang
# @Site    : 
# @File    : parser_distributor.py
# @Software: PyCharm
import argparse


def get_parser(name):
    if name == 'Brinson':
        description = 'Brinson模型'
        parser = argparse.ArgumentParser(description=description)
        parser.add_argument('--portfolio', dest='portfolio', required=True,
                            help="""组合， eg：{
                                @股票@: {
                                    @total@: 0, @split@: [{@ucode@: @000985@, @weight@: 1, @a_type@: @index@}]
                                },
                                @债券@: {
                                    @total@: 0.6, @split@: [{@ucode@: @H11001@, @weight@: 1, @a_type@: @index@}]
                                }
                            }""")
        parser.add_argument('--start', required=True, help='开始日期，eg.：2017-01-01')
        parser.add_argument('--end', required=True, help='结束日期，eg.：2017-10-10')
        parser.add_argument('--step', default='month', help='步长，默认：month')
    elif name == 'fund_ranking_customizable':
        description = '自定义基金打分'
        parser = argparse.ArgumentParser(description=description)
        parser.add_argument('--factors', dest='factors', required=True,
                            help="""用到的因子详情， eg：
                            {@factor@:@md_last_month@,@weight@:0.25,@standardization@:@normal@}
                            #{@factor@:@rr_last_year@,@weight@:0.75,@standardization@:@absolute@}
                            """)
        parser.add_argument('--the_range', required=True,
                            help='打分范围：all（所有基金），c_rank_1（一级分类），c_rank_2（二级分类）')
        parser.add_argument('--according_to', default='fund_classification',
                            help='打分根据，默认：fund_classification')
        parser.add_argument('--pool_size', default=8, type=int,
                            help='最多使用进程数，默认：8')
    else:
        raise NotImplementedError(name)
    return parser
